package com.tanhua.dubbo.api;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.PageResult;

import java.util.List;

public interface MovementApi {

    /**
     * 发布动态
     * @param movement
     */
    String publish(Movement movement);


    /**
     * 查看我的动态
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    PageResult all(Long userId, Integer page, Integer pagesize);

    /**
     * 推荐动态
     * @param userId
     * @param page
     * @param pagesize
     * @return
     */
    List<Movement> movements(Long userId, Integer page, Integer pagesize);

    /**
     * 随机获取动态
     * @param pagesize
     * @return
     */
    List<Movement> random(Integer pagesize);

    /**
     * 查询动态数据
     * @param longs
     * @return
     */
    List<Movement> findByPids(List<Long> longs);

    /**
     * 根据id查询单条动态
     * @param movementId
     * @return
     */
    Movement findById(String movementId);

    /**
     * 查询动态列表
     * @param page
     * @param pagesize
     * @param uid
     * @param skr
     * @return
     */
    PageResult messages(Integer page, Integer pagesize, Long uid, Integer skr);

    /**
     * 修改动态状态
     * @param movementId
     * @param state
     */
    void update(String movementId, int state);
}